init.push(grid_lista);
var nome_grid = "js_grid_usuario";

function grid_lista(){
	
	$('#'+nome_grid).gridcrud({

		jqgrid: {
			url: reverse('usuario.listar.grid'),
			height: '100%',
			hidegrid: false,
			datatype: "json",
			jsonReader: {root:"rows", page:"page", total:"total", records:"records"},
			colNames:['Código', 'Nome', 'Usuário', 'Ativo?', 'Grupo', 'Administrador', 'Quem criou?', ''],
			colModel:[
				{name:'codigo', index:'nome', width:65, align:"right", classes: 'extra-padding-right'},
				{name:'nome', index:'nome', width:200, align:"left", classes: 'extra-padding-left'},
				{name:'usuario', index:'usuario', width:130, align:"left", classes: 'extra-padding-left'},
				{name:'ativo', index:'ativo', width:70, formatter:'checkbox', align:"center"},
				{name:'grupo', index:'grupo', width:130, align:"left", classes: 'extra-padding-left'},
				{name:'superusuario', index:'superusuario', width:100, formatter:'checkbox', align:"center"},
				{name:'user_responsavel', index:'user_responsavel', width:100, align:"left", resizable:false, classes:'extra-padding-left'},
				{name:'buttons', sortable: false, width: 68, classes:'buttons'}
			],
			sortname: 'nome',
			viewrecords: true,
			caption: 'Lista de Usuários',
			pager:"#usuario_paginacao",
			rowList:[20,50,100]
		},
		
		add: {
			type: 'modal',
			url: reverse('usuario.novo'),
			post: reverse('usuario.novo.salvar'),
			title: 'Adicionar Novo Usuário',
			width: 350,
			height: 370,
			messages: {
				cancel: 'Ação cancelada.',
				success: 'Usuário adicionado com sucesso.',
				error: 'Erro',  //não tem msg de erro padrão porque o lado servidor manda a msg certa!
			},
			message_show_with_list: false
		},
		edit: {
			type: 'modal',
			url: function(rowid){ return reverse('usuario.editar', {'id': rowid}); },
			post: function(rowid){ return reverse('usuario.editar.salvar', {'id': rowid}); },
			title: 'Editar Usuário',
			title_button: 'Editar',
			width: 350,
			height: 370,
			messages: {
				cancel: 'Edição cancelada.',
				success: 'Usuário salvo com sucesso.',
				error: 'Erro',  //não tem msg de erro padrão porque o lado servidor manda a msg certa!
			},
			message_show_with_list: false
		},
		del: {
			type: 'none'
			},

	});
	
	$("#js_add_usuario").click(function() {
        $('#'+nome_grid).gridcrud("add");
    });
}

